Skeletons and the Anatomy of Monads

نویسنده

  • Chuan-kai Lin
چکیده

Monads are used heavily in Haskell for supporting computational effects, and the language offers excellent support for defining monadic computations. Unfortunately, defining a monad remains a difficult challenge. There are no libraries that a programmer can use to define a monad that is not a composition of existing monad transformers; therefore every such effort must start from scratch despite that all monads share the same structure and need to satisfy the same minimum set of properties. I propose a monadic programming framework called skeletons to simplify the task of defining monads and monad transformers. Skeletons provide a modular term representation that can be used for all monadic computations, and observer functions that implement the basic semantics of monad operators and guarantee their compliance with monad laws. Using the skeleton framework frees programmers from the semantic boilerplate in defining monads so that they can focus on the more important and more interesting task of implementing computational effects.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Leibniz’s Monads and Mulla Sadra’s Hierarchy of Being: A Comparative Study

Mulla Sadra and Leibniz, the two philosophers from the East and the West, belong to two different worlds. Though they were unaware of the ideas of each other, their philosophical systems share certain common points that are comparable. Monads constitute the basis of Leibniz's thought and he refers to their features in his various works. On the other side, Mulla Sadra's philosophy is also based ...

متن کامل

Applications of the Kleisli and Eilenberg-Moore 2-adjunctions

In 2010, J. Climent Vidal and J. Soliveres Tur developed, among other things, a pair of 2-adjunctions between the 2-category of adjunctions and the 2-category of monads. One is related to the Kleisli adjunction and the other to the Eilenberg-Moore adjunction for a given monad.Since any 2-adjunction induces certain natural isomorphisms of categories, these can be used to classify bijection...

متن کامل

Bioaccumulation of Heavy Metals (Pb, Fe & Zn) in the Tissues of Skeletal Coral family, Faviidae and Surrounding Sediments in the South of Qeshm Island-The Persian Gulf

The following research was conducted to study the concentration of Pb, Fe & Zn in skeletons and sediments of dominant hard coral family (Faviidae) in Zeyton Park, Naz Islands and Shib-deraz stations, South of Qeshm Island. The analysis of these heavy metals in digested samples of skeletons and sediments was done using graphite furnace Atomic Absorbtion Spectophotometry for measuring the levels ...

متن کامل

Descent for Monads

Motivated by a desire to gain a better understanding of the “dimensionby-dimension” decompositions of certain prominent monads in higher category theory, we investigate descent theory for endofunctors and monads. After setting up a basic framework of indexed monoidal categories, we describe a suitable subcategory of Cat over which we can view the assignment C 7→ Mnd(C) as an indexed category; o...

متن کامل

A cottage industry of lax extensions

In this work, we describe an adjunction between the comma category of Set-based monads under the V -powerset monad and the category of associative lax extensions of Set-based monads to the category of V -relations. In the process, we give a general construction of the Kleisli extension of a monad to the category of V-relations.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006